Not applicable.
Not applicable.
The present invention relates to computerized tomography and more particularly to a method and apparatus for minimizing the effects of gantry jitter on image quality.
In computerized tomography (CT) a patient is positioned on a support table with a portion of a patient to be imaged (hereinafter xe2x80x9ca region of interestxe2x80x9d) disposed within an imaging area, an X-ray photon source and a detector array are mounted to an annular gantry on opposite sides of the imaging area and the gantry, including the detector and the source, are rotated about the imaging area so that photon rays from the source are directed through the region of interest toward a detector opposite the source. In addition to the rotational motion, the support table may be translated through the imaging area so that the rays sweep a helical path through the region of interest. Attenuated rays are detected by the detector, the amount of attenuation indicative of the make up (e.g. bone, flesh, air pocket, etc.) of the region of interest through which the rays traverse.
The attenuation data is processed and grouped into separate xe2x80x9cviewsxe2x80x9d about the patient where each view corresponds to a specific gantry orientation and hence a specific source position or angle with respect to the imaging area. Thereafter, the views are back-projected according to a reconstruction algorithm to generate an image of the region of interest. Generally, the xe2x80x9cback projectionxe2x80x9d is performed in software but, as the name implies, is akin to physically projecting views from many different angles within an image plane through the image plane, the view rays passing through the same image voxels being combined in some manner to have a combined effect on the voxel in the resulting image.
In order to group the attenuation data into separate views, ideally, the 360 degrees of gantry rotation are equally divided into view angle ranges (hereinafter xe2x80x9cview rangesxe2x80x9d) corresponding to the required number of views and then the data collected within each separate view range is binned together to form a corresponding view. For instance, where 984 separate views are required to construct an image, the 360 degree range is divided into 984 separate view ranges of approximately 0.3659 degrees each. Thereafter, data collected within each separate view range during a single source rotation is stored as a separate view. In operation, during data acquisition, the system tracks source orientation and, when the source transitions from a first position within a first view range to a second position within a second view range, the system generates a trigger signal causing the system to begin binning the data in a new view corresponding to the second view range.
One useful method for identifying source orientation and determining if the source angle is within a specific angle range has been to provide a ring encoder linked to the gantry that senses gantry position and generates source location trigger signals. For instance, an exemplary encoder may be capable of differentiating 106,496 separate and equispaced source orientations (i.e., the encoder has a 106,496 position resolution). Where 984 separate views are required, the 106,496 encoder positions are divided into 984 separate position ranges corresponding to the 984 views. Hereinafter the ratio of encoder resolution to required views is referred to as the encoder-view ratio.
In the example above, where the gantry rotates at one rotation per second, the encoder generates a signal having a frequency of precisely 106,496 Hz and data corresponding to 984 views is collected for every gantry rotation. Where gantry rotation frequency is increased, the encoder frequency and view frequency increase proportionally. For instance, where rotation frequency is 2 Hz, the encoder and view frequencies are doubled to 212,992 Hz and 1968 Hz, respectively. Hereinafter the encoder and view acquisition frequencies will be referred to generally as encoder frequency and view frequency, respectively.
Encoder type systems like the system described above have two important shortcomings. First, often the encoder frequency does not divide evenly by the view frequency. For instance, in the example above, the encoder-view frequency ratio is 108.23 (i.e., 106,496 Hz/984 Hz) and therefore the encoder positions cannot be precisely and directly converted into view ranges.
Second, as well known in the CT industry, while attempts have been made to manufacture robust and precise encoders, even high quality encoders tend to jitter (i.e., vibrate) during gantry rotation so that the instantaneous encoder frequency may vary appreciably. For instance, in one CT system the rotating portion of the gantry includes a ring having externally extending teeth and the encoder includes a relatively smaller gear having teeth that mate with the gantry teeth so that the encoder gear spins as the gantry rotates. In an exemplary case the encoder gear rotates at 13 times the gantry rotational frequency and includes 300 teeth. In this case, where the gantry rotation frequency is 1 Hz, the frequency of the encoder signal will often include 13 and 300 Hz noise components.
While not discussed here in detail, it should be noted that the CT imaging environment is often very noisy and therefore there are many other noise sources that pollute the encoder trigger signal so that the trigger signal sequence that is generated often does not precisely reflect the gantry and source position. As with most mechanical systems, the encoder accuracy problems are exacerbated as the encoder components wear over time.
While jitter and encoder-view ratio related frequency inaccuracies may be acceptable in certain applications, in many applications such variations cause image artifacts that appreciably reduce the diagnostic value of resulting images. For instance, where long CINE scans of several minutes are performed, in order to align views from consecutive gantry rotations, the scans require that the first trigger in every rotation occur within 10% of the first trigger in the first scan rotation. This 10% registration requirement requires that the system have minimal trigger signal drift. For instance, if a system were to lose 0.99 triggers every rotation, after only two rotations the drift would be too great for the 10% registration requirement.
To account for fractional encoder-view ratios, many systems feed the encoder signals to a phase locked loop (PLL) circuit. PLLs are well known in the art and therefore will not be explained here in detail. It should suffice to say, in this regard, that a PLL circuit typically receives the encoder signal and generates an output trigger signal every N encoder signals where N is the encoder-view ratio. For instance, in the present example, where the encoder-view ratio is 108.23 (i.e., 106,496/984), the PLL trigger signal is generated approximately every 108.23 encoder signals.
Unfortunately, while the PLL reduces the affects of system noise somewhat, the encoder noise is at least in part reflected in the PLL output trigger signal. For example, where the encoder signal has an instantaneous frequency range of between plus and minus 10% of the ideal encoder frequency (i.e., the encoder frequency that would precisely correspond to gantry position), the PLL trigger signal frequency may have a range of plus or minus 5% of the ideal view frequency. Five percent variance in the frequency spectrum is too great for many applications.
It has been recognized that the mass of a gantry and components attached thereto is typically large and therefore, during gantry rotation, the gantry and attached components typically maintain their rotational frequency over small rotational ranges despite system noise and instantaneous encoder frequency changes. For this reason recent gantry rotational frequency history can be used to relatively precisely identify trigger times corresponding to different view ranges.
To this end, the present invention includes a filter apparatus that receives the PLL trigger signals and identifies a moving average of the periods corresponding to separate view ranges during data acquisition. Thereafter, the filter apparatus generates a filtered trigger signal that occurs at the average of the most recent view range periods. The filter, in effect, substantially eliminates the effects of jitter from the trigger signals so that the resulting trigger signal more closely mirrors the gantry and source position. For instance, in a typical case, the filtered trigger signal frequency is plus or minus 1% of the actual instantaneous gantry frequency and therefore the trigger signals are more precisely aligned with the gantry position.
In addition, the inventive apparatus retains a running filter error and uses the running error to compensate for drift that the filter could introduce into the trigger signals. To this end, in at least some embodiments, where the moving average period is determined over N trigger cycles, the modulus-N values for consecutive cycles are summed until the modulus-N sum, referred to herein as a lag count, exceeds N. When the lag count exceeds N for any cycle, the integer portion of the moving average is incremented by one to eliminate the effects of drift. In addition, when the lag count exceeds N for any cycle, a modulus-N value for the lag count is determined and the lag count is reset to the modulus-N value.
Consistent with the above, the present invention includes a method for use with a CT system including a gantry mounted position encoder that provides a digital encoder position signal including signal pulses that indicate gantry positions, the system including a phase locked loop (PLL) that receives the position signal and generates an intermediate trigger signal every X/Y position signals, each two consecutive intermediate trigger signals comprising a trigger pair, the method comprising the steps of beginning with the first trigger pair and working toward the last trigger pair in the intermediate signal, for each trigger pair: identifying the average period corresponding to N preceding trigger pairs; and generating a final trigger signal as a function of the average period.
In at least some embodiments the step of identifying includes the steps of identifying the integer portion of the average period, identifying drift in the integer portion, determining when the drift exceeds a threshold value and modifying the integer portion to compensate for the drift when the drift exceeds the threshold value. In addition, the step of identify drift may include the steps of identifying a modulus-N residual corresponding to the N preceding trigger pairs as a lag value and adding the lag value to a lag count.
The step of determining when drift exceeds a threshold value may include the steps of determining when the lag count exceeds N. Moreover, the step of modifying the integer portion may include, when the lag count exceeds N, incrementing the integer portion by one. Here, the method may further include the step of, when the lag count exceeds N, identifying a modulus-N residual corresponding to the lag count and setting the lag count equal to the residual corresponding to the lag count. N may include the N immediately preceding pulse pairs. N, in many embodiments, corresponds to a fraction of a complete gantry rotation. Typically N corresponds to 3 to 50 percent of a complete gantry rotation.
Where the trigger signal is a binary signal including a high time followed by a low time, in at least some embodiments the step of generating the final trigger signal further includes dividing the integer portion by two to generate a half period, rounding the half period up and down to generate ceiling and floor periods, respectively, setting a one of the low and high times equal to one of the floor and ceiling periods"" and setting the other of the low and high times equal to the other of the floor and ceiling periods. Here, the steps of setting the low and high times further may include setting the high time equal to the floor period and setting the low time equal to the ceiling period.
The invention also includes a method for use with a CT system including a gantry mounted position encoder that provides a digital encoder position signal including signal pulses that indicate gantry positions, the system including a phase locked loop (PLL) that receives the position signal and generates an intermediate trigger signal every X/Y position signals, each two consecutive intermediate trigger signals comprising a trigger pair, the method comprising the steps of, beginning with the first trigger pair and working toward the last trigger pair in the intermediate signal, for each trigger pair: identifying the integer portion of an average period corresponding to N preceding trigger pairs, identifying a modulus-N residual corresponding to the N preceding trigger pairs as a lag value, adding the lag value to a lag count, determining when the lag count exceeds N and, where the lag count exceeds N: (i) incrementing the integer portion by one, (ii) identifying a modulus-N residual corresponding to the lag count, (iii) setting the lag count equal to the residual corresponding to the lag count and generating a final binary trigger signal including a high time followed by a low time, the step of generating including, dividing the integer portion by two to generate a half period, rounding the half period up and down to generate ceiling and floor periods, respectively, setting one of the low and high times equal to one of the floor and ceiling periods and setting the other of the low and high times equal to the other of the floor and ceiling periods.
Moreover, the invention includes an apparatus for use with a CT system including a gantry mounted position encoder that provides a digital encoder position signal including signal pulses that indicate gantry positions, the system including a phase locked loop (PLL) that receives the position signal and generates an intermediate trigger signal every X/Y position signals, each two consecutive intermediate trigger signals comprising a trigger pair, the apparatus comprising a program running a pulse sequencing program to perform the steps of, beginning with the first trigger pair and working toward the last trigger pair in the intermediate signal, for each trigger pair: identifying an average period corresponding to N preceding trigger pairs and generating a final trigger signal as a function of the average period.
In some embodiments the program causes the processor to perform the step of generating by performing the steps of, identifying the integer portion of the average period, identifying a modulus-N residual corresponding to the N preceding trigger pairs as a lag value, adding the lag value to a lag count, determining when the lag count exceeds N and, where the lag count exceeds N: (i) incrementing the integer portion by one, (ii) identifying a modulus-N residual corresponding to the lag count, (iii) setting the lag count equal to the residual corresponding to the lag count and generating a final binary trigger signal corresponding to the integer portion.
More specifically, where the final trigger signal includes a high time followed by a low time, the program may cause the processor to perform the step of generating by dividing the integer portion by two to generate a half period, rounding the half period up and down to generate ceiling and floor periods, respectively, setting one of the low and high times equal to one of the floor and ceiling periods and setting the other of the low and high times equal to the other of the floor and ceiling periods.
The program may also cause the processor to perform the steps of setting the low and high times by setting the high time equal to the floor period and setting the low time equal to the ceiling period.